Hardware devices frequently include both hardware resources and hardware clients. Hardware resources can be conceptualized as those parts of a hardware device that are to perform processing, and thus which may be considered as “producers.” By comparison, hardware clients can be conceptualized as those parts of a hardware device that are to generate tasks that are to be performed, and thus which may be considered as “consumers.” A given component of a hardware device may be a hardware resource, a hardware client, or both a hardware resource and a hardware client.